<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>data也可以是一个函数</title>
    <!-- 安装vue：当你使用script进行vue安装之后，上下文就注册了一个全局变量 Vue -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>

<body>
    <!-- 准备一个容器 -->

    <div id="app">
        <h1>{{msg}}</h1>
    </div>

    <!-- vue程序 -->
    <script>

        const vm = new Vue({
            el: '#app',
            // data: { 
            //     msg: 'Hello Vue!' 
            // }

            //data也可以是一个函数，返回值应该是一个对象
            // data: function () {
            //     return {
            //         msg: 'Hello Vue!'
            //     }
            // }

            // 函数可以省略 :function
            data() {
                return {
                    msg: 'Hello Vue!'
                }
            }
        })


        // 关于配置项：enumberable、configurable
        let phone = {
            name: '苹果x'
        }

        Object.defineProperty(phone, 'color', {
            value: '奶奶灰',

            // enumberable配置项
            // true表示该属性是可以遍历的（可枚举的、可迭代的）
            // false表示该属性是不可遍历的
            enumerable: false, // false时，如果 Object.keys(phone) 时，不会得到 color 的属性

            // configurable配置项
            // true表示该属性时可以被删除
            // false表示该属性是不可以被删除的
            configurable: false // false时，delete phone.color 会 false，不能删除此属性

        })

    </script>
</body>

</html>